# @Author   : 懒羊羊
# @File     : dologs.py
# @Time     : 2024/12/4 18:15
import logging
import os

from common.config import log_path


class DoLog:
    logger = None

    def set_get_logger(self, level):
        # 申请记录器
        self.logger = logging.getLogger()

        # 设置日志编写等级
        self.logger.setLevel(level)

        # 申请写入的地方
        # 设置文件，使用r 来反转义
        log_name = os.path.join(log_path, "a.log")
        f = logging.FileHandler(log_name, encoding="utf-8")

        # 设置控制台
        s = logging.StreamHandler()

        # 设置书写的格式
        ft = "%(asctime)s, %(filename)s, %(lineno)d, %(levelname)s: %(message)s"

        # 设置一个记录器所需的格式对象
        ftl = logging.Formatter(ft)

        # 将格式对象加入到对应写入的地方
        f.setFormatter(ftl)
        # s.setFormatter(ftl)

        # 将记录器和写入的地方进行关联
        self.logger.addHandler(f)
        # self.logger.addHandler(s)

        # 返回设置好的记录器
        return self.logger


if __name__ == '__main__':
    dolog = DoLog().set_get_logger(logging.INFO)

    dolog.log(logging.ERROR, "我是error")
    dolog.debug("我是debug级别")
    dolog.info("我是info级别")
    dolog.warning("我是warning级别")
    dolog.error("我是error级别")
    dolog.critical("我是critical级别")
